1. Field of the Invention
The invention relates generally to the field of communications systems. More specifically, the invention relates to protocols for data networking.
2. Description of Related Art
In communications networks utilizing Internet Protocol (IP), real-time data, such as audio and/or video (A/V) data, is typically transmitted using the User Datagram Protocol (UDP). UDP is referred to as a xe2x80x9cnon-reliablexe2x80x9d protocol since data xe2x80x9cpacketsxe2x80x9d lost during transmission are not retried or re-transmitted. If lost UDP data packets were re-transmitted at a later instant in time, the resulting A/V playback may be jumbled with frames of video or audio out of order. Retransmission or retries destroys the proper sequencing of audio and video information that is desired for audio and video transmissions, especially in videoconferencing or teleconferencing sessions. When the amount of packet loss is not too severe, A/V playback may pop or jitter with lost packets but will be audible and viewable. However, when the packet loss is too severe, the result may be inaudible, or confusing to the point where the afflicted recipient may prefer a delayed or semi-realtime transmission as a substitute for a severely degraded realtime transmission.
By contrast, Transmission Control Protocol (TCP), which also runs over IP, is a xe2x80x9creliablexe2x80x9d protocol in that data packets are xe2x80x9cguaranteedxe2x80x9d to eventually reach their destination. The packets are numbered and sequenced when first transmitted so that upon a retry or retransmission, the packets can be ordered correctly. TCP is normally utilized for text binary file transfer and for transferring control messages which do not ordinarily need realtime transfer, and wherein it is important that transmitted packets eventually be received at their intended destination. The amount of packet loss for TCP packets is less critical than for UDP packets, since TCP is retry capable. If voice and A/V data were transmitted over TCP, the resulting realtime playback might be chaotic and out-of-order, especially where the quality of the network connection or routing is poor, since lost packets would be retried and arrive out-of-order.
Thus, there is a need to provide a mechanism which can reliably transmit A/V and other realtime data even when network connections are poor.
The invention provides a method and apparatus for increasing the reliability of data communications based on network quality of service. The quality of service is determined to be inadequate based upon a certain threshold. If the quality of service is inadequate, data is routed through a reliable communications service.